[INFO] fetching crate resol-vbus 0.2.1...
[INFO] checking resol-vbus-0.2.1 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate resol-vbus 0.2.1 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate resol-vbus 0.2.1 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate resol-vbus 0.2.1
[INFO] finished tweaking crates.io crate resol-vbus 0.2.1
[INFO] tweaked toml for crates.io crate resol-vbus 0.2.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d29df9c89bf86392cec313e3e628cd9f5bbde38c9dcc978352a2f794567029d7
[INFO] running `Command { std: "docker" "start" "-a" "d29df9c89bf86392cec313e3e628cd9f5bbde38c9dcc978352a2f794567029d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d29df9c89bf86392cec313e3e628cd9f5bbde38c9dcc978352a2f794567029d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d29df9c89bf86392cec313e3e628cd9f5bbde38c9dcc978352a2f794567029d7", kill_on_drop: false }`
[INFO] [stdout] d29df9c89bf86392cec313e3e628cd9f5bbde38c9dcc978352a2f794567029d7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2454409ac91b265a5c536fc68e06f36e1eb536045449af964dfde674c5b16751
[INFO] running `Command { std: "docker" "start" "-a" "2454409ac91b265a5c536fc68e06f36e1eb536045449af964dfde674c5b16751", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]     Checking chrono v0.4.34
[INFO] [stderr]     Checking resol-vbus v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_reader.rs:58:28
[INFO] [stdout]     |
[INFO] [stdout] 58  |             timestamp: Utc.timestamp(0, 0),
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(deprecated)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/recording_decoder.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Utc.timestamp(timestamp_s, timestamp_ns)
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/recording_encoder.rs:38:37
[INFO] [stdout]    |
[INFO] [stdout] 38 |     bytes_from_record(0x77, 16, Utc.timestamp(0, 0), buf);
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/specification.rs:875:37
[INFO] [stdout]     |
[INFO] [stdout] 875 |                 let timestamp = Utc.timestamp(self.raw_value + 978_307_200, 0);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:368:29
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(deprecated)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:383:29
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:398:29
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:413:29
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:438:29
[INFO] [stdout]     |
[INFO] [stdout] 438 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:454:29
[INFO] [stdout]     |
[INFO] [stdout] 454 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:463:29
[INFO] [stdout]     |
[INFO] [stdout] 463 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:479:29
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:488:29
[INFO] [stdout]     |
[INFO] [stdout] 488 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:521:29
[INFO] [stdout]     |
[INFO] [stdout] 521 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:531:29
[INFO] [stdout]     |
[INFO] [stdout] 531 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:540:29
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:550:29
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:559:29
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:569:29
[INFO] [stdout]     |
[INFO] [stdout] 569 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:578:29
[INFO] [stdout]     |
[INFO] [stdout] 578 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:590:35
[INFO] [stdout]     |
[INFO] [stdout] 590 |         let other_timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/utils.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |     Utc.timestamp(secs, 0)
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:704:29
[INFO] [stdout]     |
[INFO] [stdout] 704 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:725:35
[INFO] [stdout]     |
[INFO] [stdout] 725 |         let other_timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:929:29
[INFO] [stdout]     |
[INFO] [stdout] 929 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:227:29
[INFO] [stdout]     |
[INFO] [stdout] 227 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:235:34
[INFO] [stdout]     |
[INFO] [stdout] 235 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:311:29
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:315:34
[INFO] [stdout]     |
[INFO] [stdout] 315 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:333:40
[INFO] [stdout]     |
[INFO] [stdout] 333 |         other_data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:354:29
[INFO] [stdout]     |
[INFO] [stdout] 354 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:358:34
[INFO] [stdout]     |
[INFO] [stdout] 358 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:390:29
[INFO] [stdout]     |
[INFO] [stdout] 390 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:394:34
[INFO] [stdout]     |
[INFO] [stdout] 394 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:428:29
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:432:34
[INFO] [stdout]     |
[INFO] [stdout] 432 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:534:29
[INFO] [stdout]     |
[INFO] [stdout] 534 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:538:34
[INFO] [stdout]     |
[INFO] [stdout] 538 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:644:29
[INFO] [stdout]     |
[INFO] [stdout] 644 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:648:34
[INFO] [stdout]     |
[INFO] [stdout] 648 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_decoder.rs:331:29
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_encoder.rs:91:29
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_encoder.rs:109:29
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_reader.rs:58:28
[INFO] [stdout]    |
[INFO] [stdout] 58 |             timestamp: Utc.timestamp(0, 0),
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_writer.rs:72:39
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let start_timestamp = Utc.timestamp(1486857602, 94000000);
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_writer.rs:73:37
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let end_timestamp = Utc.timestamp(1486857602, 95000000);
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_writer.rs:82:39
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let start_timestamp = Utc.timestamp(1486857602, 283000000);
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_writer.rs:83:37
[INFO] [stdout]    |
[INFO] [stdout] 83 |             let end_timestamp = Utc.timestamp(1486857602, 284000000);
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_writer.rs:91:39
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let start_timestamp = Utc.timestamp(1486857602, 474000000);
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_writer.rs:92:37
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let end_timestamp = Utc.timestamp(1486857602, 474000000);
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:100:39
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let start_timestamp = Utc.timestamp(1486857602, 683000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:101:37
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let end_timestamp = Utc.timestamp(1486857602, 704000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:109:39
[INFO] [stdout]     |
[INFO] [stdout] 109 |             let start_timestamp = Utc.timestamp(1486857602, 863000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:110:37
[INFO] [stdout]     |
[INFO] [stdout] 110 |             let end_timestamp = Utc.timestamp(1486857602, 864000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:115:39
[INFO] [stdout]     |
[INFO] [stdout] 115 |             let start_timestamp = Utc.timestamp(1486857603, 123000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:116:37
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let end_timestamp = Utc.timestamp(1486857603, 124000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:124:39
[INFO] [stdout]     |
[INFO] [stdout] 124 |             let start_timestamp = Utc.timestamp(1486857603, 314000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:125:37
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let end_timestamp = Utc.timestamp(1486857603, 314000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:133:39
[INFO] [stdout]     |
[INFO] [stdout] 133 |             let start_timestamp = Utc.timestamp(1486857603, 534000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:134:37
[INFO] [stdout]     |
[INFO] [stdout] 134 |             let end_timestamp = Utc.timestamp(1486857603, 535000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:142:39
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let start_timestamp = Utc.timestamp(1486857603, 763000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:143:37
[INFO] [stdout]     |
[INFO] [stdout] 143 |             let end_timestamp = Utc.timestamp(1486857603, 764000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let start_timestamp = Utc.timestamp(1486857604, 114000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:152:37
[INFO] [stdout]     |
[INFO] [stdout] 152 |             let end_timestamp = Utc.timestamp(1486857604, 114000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:157:39
[INFO] [stdout]     |
[INFO] [stdout] 157 |             let start_timestamp = Utc.timestamp(1486857605, 94000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:158:37
[INFO] [stdout]     |
[INFO] [stdout] 158 |             let end_timestamp = Utc.timestamp(1486857605, 94000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:167:39
[INFO] [stdout]     |
[INFO] [stdout] 167 |             let start_timestamp = Utc.timestamp(1486857605, 283000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:168:37
[INFO] [stdout]     |
[INFO] [stdout] 168 |             let end_timestamp = Utc.timestamp(1486857605, 284000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:176:39
[INFO] [stdout]     |
[INFO] [stdout] 176 |             let start_timestamp = Utc.timestamp(1486857605, 474000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:177:37
[INFO] [stdout]     |
[INFO] [stdout] 177 |             let end_timestamp = Utc.timestamp(1486857605, 474000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:185:39
[INFO] [stdout]     |
[INFO] [stdout] 185 |             let start_timestamp = Utc.timestamp(1486857605, 703000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:186:37
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let end_timestamp = Utc.timestamp(1486857605, 704000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:194:39
[INFO] [stdout]     |
[INFO] [stdout] 194 |             let start_timestamp = Utc.timestamp(1486857605, 863000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:195:37
[INFO] [stdout]     |
[INFO] [stdout] 195 |             let end_timestamp = Utc.timestamp(1486857605, 863000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:200:39
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let start_timestamp = Utc.timestamp(1486857606, 123000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:201:37
[INFO] [stdout]     |
[INFO] [stdout] 201 |             let end_timestamp = Utc.timestamp(1486857606, 124000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:209:39
[INFO] [stdout]     |
[INFO] [stdout] 209 |             let start_timestamp = Utc.timestamp(1486857606, 314000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:210:37
[INFO] [stdout]     |
[INFO] [stdout] 210 |             let end_timestamp = Utc.timestamp(1486857606, 314000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:218:39
[INFO] [stdout]     |
[INFO] [stdout] 218 |             let start_timestamp = Utc.timestamp(1486857606, 503000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:219:37
[INFO] [stdout]     |
[INFO] [stdout] 219 |             let end_timestamp = Utc.timestamp(1486857606, 504000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_writer.rs:73:29
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/recording_decoder.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Utc.timestamp(timestamp_s, timestamp_ns)
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: field `current_channel` is never read
[INFO] [stdout]   --> src/recording_reader.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct RecordingReader<R: Read> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 37 |     current_channel: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordingReader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[deny(dead_code)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/recording_encoder.rs:38:37
[INFO] [stdout]    |
[INFO] [stdout] 38 |     bytes_from_record(0x77, 16, Utc.timestamp(0, 0), buf);
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/recording_encoder.rs:119:29
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/recording_encoder.rs:129:29
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `resol-vbus` (lib) due to 7 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/specification.rs:875:37
[INFO] [stdout]     |
[INFO] [stdout] 875 |                 let timestamp = Utc.timestamp(self.raw_value + 978_307_200, 0);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/utils.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |     Utc.timestamp(secs, 0)
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: field `current_channel` is never read
[INFO] [stdout]   --> src/recording_reader.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct RecordingReader<R: Read> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 37 |     current_channel: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordingReader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[deny(dead_code)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 84 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `resol-vbus` (lib test) due to 85 previous errors
[INFO] running `Command { std: "docker" "inspect" "2454409ac91b265a5c536fc68e06f36e1eb536045449af964dfde674c5b16751", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2454409ac91b265a5c536fc68e06f36e1eb536045449af964dfde674c5b16751", kill_on_drop: false }`
[INFO] [stdout] 2454409ac91b265a5c536fc68e06f36e1eb536045449af964dfde674c5b16751
[INFO] checking resol-vbus-0.2.1 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate resol-vbus 0.2.1 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate resol-vbus 0.2.1 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate resol-vbus 0.2.1
[INFO] finished tweaking crates.io crate resol-vbus 0.2.1
[INFO] tweaked toml for crates.io crate resol-vbus 0.2.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7f9db7cb8044e3d132316dc3f4d38834fa7791de7134ec3f596ad03e326fea7b
[INFO] running `Command { std: "docker" "start" "-a" "7f9db7cb8044e3d132316dc3f4d38834fa7791de7134ec3f596ad03e326fea7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7f9db7cb8044e3d132316dc3f4d38834fa7791de7134ec3f596ad03e326fea7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f9db7cb8044e3d132316dc3f4d38834fa7791de7134ec3f596ad03e326fea7b", kill_on_drop: false }`
[INFO] [stdout] 7f9db7cb8044e3d132316dc3f4d38834fa7791de7134ec3f596ad03e326fea7b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 382c4433189daaa1578e78bf49110fdc01c8263470d2ac97c2be7eb7ad6b3773
[INFO] running `Command { std: "docker" "start" "-a" "382c4433189daaa1578e78bf49110fdc01c8263470d2ac97c2be7eb7ad6b3773", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]     Checking chrono v0.4.34
[INFO] [stderr]     Checking resol-vbus v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/blob_buffer.rs:26:33
[INFO] [stdout]     |
[INFO] [stdout] 26  |             drop(self.buf.drain(0..self.start));
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(range_syntax)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |         &self.buf[self.start..]
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         buf[0..len].copy_from_slice(&self[0..len]);
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:79:43
[INFO] [stdout]    |
[INFO] [stdout] 79 |         buf[0..len].copy_from_slice(&self[0..len]);
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_reader.rs:82:41
[INFO] [stdout]    |
[INFO] [stdout] 82 |         self.buf.extend_from_slice(&buf[0..size]);
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_buffer.rs:60:32
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 Some(&self.buf[0..length])
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |     } else if has_msb_set(&buf[1..6]) {
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:35:40
[INFO] [stdout]    |
[INFO] [stdout] 35 |             } else if has_msb_set(&buf[6..10]) {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:37:58
[INFO] [stdout]    |
[INFO] [stdout] 37 |             } else if !calc_and_compare_checksum_v0(&buf[1..10]) {
[INFO] [stdout]    |                                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:44:44
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 } else if has_msb_set(&buf[10..expected_len]) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:47:34
[INFO] [stdout]    |
[INFO] [stdout] 47 |                     let valid = (0..frame_count).all(|frame_idx| {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:49:59
[INFO] [stdout]    |
[INFO] [stdout] 49 |                         calc_and_compare_checksum_v0(&buf[frame_start..frame_start + 6])
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:61:40
[INFO] [stdout]    |
[INFO] [stdout] 61 |             } else if has_msb_set(&buf[6..16]) {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:63:58
[INFO] [stdout]    |
[INFO] [stdout] 63 |             } else if !calc_and_compare_checksum_v0(&buf[1..16]) {
[INFO] [stdout]    |                                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |             } else if has_msb_set(&buf[6..8]) {
[INFO] [stdout]    |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:73:58
[INFO] [stdout]    |
[INFO] [stdout] 73 |             } else if !calc_and_compare_checksum_v0(&buf[1..8]) {
[INFO] [stdout]    |                                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 } else if has_msb_set(&buf[8..expected_len]) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:83:34
[INFO] [stdout]    |
[INFO] [stdout] 83 |                     let valid = (0..frame_count).all(|frame_idx| {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:85:59
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         calc_and_compare_checksum_v0(&buf[frame_start..frame_start + 9])
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:108:58
[INFO] [stdout]     |
[INFO] [stdout] 108 |         destination_address: LittleEndian::read_u16(&buf[1..]),
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:109:53
[INFO] [stdout]     |
[INFO] [stdout] 109 |         source_address: LittleEndian::read_u16(&buf[3..]),
[INFO] [stdout]     |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:117:26
[INFO] [stdout]     |
[INFO] [stdout] 117 |         for frame_idx in 0..frame_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:121:33
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 &mut frame_data[dst_start..dst_start + 4],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:122:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 &buf[src_start..src_start + 5],
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:128:50
[INFO] [stdout]     |
[INFO] [stdout] 128 |             command: LittleEndian::read_u16(&buf[6..]),
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:134:57
[INFO] [stdout]     |
[INFO] [stdout] 134 |         copy_bytes_injecting_septett(&mut payload, &buf[8..15]);
[INFO] [stdout]     |                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:138:50
[INFO] [stdout]     |
[INFO] [stdout] 138 |             command: LittleEndian::read_u16(&buf[6..]),
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 |             param16: LittleEndian::read_i16(&payload[0..]),
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:140:54
[INFO] [stdout]     |
[INFO] [stdout] 140 |             param32: LittleEndian::read_i32(&payload[2..]),
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |         for frame_idx in 0..frame_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:151:33
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 &mut frame_data[dst_start..dst_start + 7],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:152:22
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 &buf[src_start..src_start + 8],
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:28:46
[INFO] [stdout]    |
[INFO] [stdout] 28 |             LittleEndian::write_u16(&mut buf[1..3], packet.header.destination_address);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:29:46
[INFO] [stdout]    |
[INFO] [stdout] 29 |             LittleEndian::write_u16(&mut buf[3..5], packet.header.source_address);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |             LittleEndian::write_u16(&mut buf[6..8], packet.command);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:33:47
[INFO] [stdout]    |
[INFO] [stdout] 33 |             calc_and_set_checksum_v0(&mut buf[1..10]);
[INFO] [stdout]    |                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |             for frame_idx in 0..(packet.frame_count as usize) {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:39:30
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     &mut buf[dst_start..dst_start + 5],
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:40:40
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     &packet.frame_data[src_start..src_start + 4],
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:42:51
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 calc_and_set_checksum_v0(&mut buf[dst_start..dst_start + 6]);
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:47:46
[INFO] [stdout]    |
[INFO] [stdout] 47 |             LittleEndian::write_u16(&mut buf[1..3], dgram.header.destination_address);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:48:46
[INFO] [stdout]    |
[INFO] [stdout] 48 |             LittleEndian::write_u16(&mut buf[3..5], dgram.header.source_address);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 |             LittleEndian::write_u16(&mut buf[6..8], dgram.command);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:52:50
[INFO] [stdout]    |
[INFO] [stdout] 52 |             LittleEndian::write_i16(&mut payload[0..], dgram.param16);
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:53:50
[INFO] [stdout]    |
[INFO] [stdout] 53 |             LittleEndian::write_i32(&mut payload[2..], dgram.param32);
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:54:52
[INFO] [stdout]    |
[INFO] [stdout] 54 |             copy_bytes_extracting_septett(&mut buf[8..15], &payload);
[INFO] [stdout]    |                                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:55:47
[INFO] [stdout]    |
[INFO] [stdout] 55 |             calc_and_set_checksum_v0(&mut buf[1..16]);
[INFO] [stdout]    |                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:59:46
[INFO] [stdout]    |
[INFO] [stdout] 59 |             LittleEndian::write_u16(&mut buf[1..3], tgram.header.destination_address);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:60:46
[INFO] [stdout]    |
[INFO] [stdout] 60 |             LittleEndian::write_u16(&mut buf[3..5], tgram.header.source_address);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:63:47
[INFO] [stdout]    |
[INFO] [stdout] 63 |             calc_and_set_checksum_v0(&mut buf[1..8]);
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:65:30
[INFO] [stdout]    |
[INFO] [stdout] 65 |             for frame_idx in 0..(tgram.frame_count() as usize) {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:69:30
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     &mut buf[dst_start..dst_start + 8],
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:70:39
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     &tgram.frame_data[src_start..src_start + 7],
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:72:51
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 calc_and_set_checksum_v0(&mut buf[dst_start..dst_start + 9]);
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_reader.rs:53:41
[INFO] [stdout]    |
[INFO] [stdout] 53 |         self.buf.extend_from_slice(&buf[0..size]);
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_recording_reader.rs:98:85
[INFO] [stdout]    |
[INFO] [stdout] 98 | ...                   recording_decoder::timestamp_from_checked_bytes(&record[14..22]);
[INFO] [stdout]    |                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:117:56
[INFO] [stdout]     |
[INFO] [stdout] 117 |                     self.buf.extend_from_slice(&record[22..]);
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:122:78
[INFO] [stdout]     |
[INFO] [stdout] 122 |                         match live_data_decoder::length_from_bytes(&self.buf[start..]) {
[INFO] [stdout]     |                                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:148:45
[INFO] [stdout]     |
[INFO] [stdout] 148 |                         drop(self.buf.drain(0..consumed));
[INFO] [stdout]     |                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:211:70
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 match live_data_decoder::length_from_bytes(&self.buf[start..]) {
[INFO] [stdout]     |                                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:216:39
[INFO] [stdout]     |
[INFO] [stdout] 216 | ...                   &self.buf[start..start + length],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:219:45
[INFO] [stdout]     |
[INFO] [stdout] 219 |                         drop(self.buf.drain(0..start + length));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:238:85
[INFO] [stdout]     |
[INFO] [stdout] 238 | ...                   recording_decoder::timestamp_from_checked_bytes(&record[14..22]);
[INFO] [stdout]     |                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:259:60
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         self.buf.extend_from_slice(&record[22..]);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:294:85
[INFO] [stdout]     |
[INFO] [stdout] 294 | ...                   recording_decoder::timestamp_from_checked_bytes(&record[14..22]);
[INFO] [stdout]     |                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:312:56
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     self.buf.extend_from_slice(&record[22..]);
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:317:78
[INFO] [stdout]     |
[INFO] [stdout] 317 |                         match live_data_decoder::length_from_bytes(&self.buf[start..]) {
[INFO] [stdout]     |                                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:334:45
[INFO] [stdout]     |
[INFO] [stdout] 334 |                         drop(self.buf.drain(0..consumed));
[INFO] [stdout]     |                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_recording_writer.rs:48:54
[INFO] [stdout]    |
[INFO] [stdout] 48 |         bytes_from_timestamp(end_timestamp, &mut buf[14..22]);
[INFO] [stdout]    |                                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_recording_writer.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         buf[22..].copy_from_slice(data);
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/packet.rs:215:30
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let field_id = &self[21..];
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/packet.rs:313:26
[INFO] [stdout]     |
[INFO] [stdout] 313 |         &self.frame_data[0..end]
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/packet.rs:342:30
[INFO] [stdout]     |
[INFO] [stdout] 342 |         &mut self.frame_data[0..end]
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:31:56
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let expected_len = LittleEndian::read_u16(&buf[2..4]) as usize;
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:44:52
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let timestamp_ms = LittleEndian::read_i64(&buf[0..8]);
[INFO] [stdout]    |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:52:55
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let timestamp = timestamp_from_checked_bytes(&buf[6..14]);
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:53:59
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let destination_address = LittleEndian::read_u16(&buf[14..16]);
[INFO] [stdout]    |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:54:54
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let source_address = LittleEndian::read_u16(&buf[16..18]);
[INFO] [stdout]    |                                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:59:51
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let command = LittleEndian::read_u16(&buf[20..22]);
[INFO] [stdout]    |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:60:61
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let frame_data_length = LittleEndian::read_u16(&buf[22..24]) as usize;
[INFO] [stdout]    |                                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:64:20
[INFO] [stdout]    |
[INFO] [stdout] 64 |         frame_data[0..frame_data_length].copy_from_slice(&buf[26..26 + frame_data_length]);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:64:63
[INFO] [stdout]    |
[INFO] [stdout] 64 |         frame_data[0..frame_data_length].copy_from_slice(&buf[26..26 + frame_data_length]);
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:79:51
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let command = LittleEndian::read_u16(&buf[20..22]);
[INFO] [stdout]    |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:80:51
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let param16 = LittleEndian::read_i16(&buf[26..28]);
[INFO] [stdout]    |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:81:51
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let param32 = LittleEndian::read_i32(&buf[28..32]);
[INFO] [stdout]    |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:116:77
[INFO] [stdout]     |
[INFO] [stdout] 116 |                         let frame_data_length = LittleEndian::read_u16(&buf[22..24]) as usize;
[INFO] [stdout]     |                                                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     LittleEndian::write_i64(&mut buf[0..8], timestamp);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:31:38
[INFO] [stdout]    |
[INFO] [stdout] 31 |     LittleEndian::write_u16(&mut buf[2..4], length);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:32:38
[INFO] [stdout]    |
[INFO] [stdout] 32 |     LittleEndian::write_u16(&mut buf[4..6], length);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 |     bytes_from_timestamp(timestamp, &mut buf[6..14]);
[INFO] [stdout]    |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:50:42
[INFO] [stdout]    |
[INFO] [stdout] 50 |         LittleEndian::write_u16(&mut buf[14..16], header.destination_address);
[INFO] [stdout]    |                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:51:42
[INFO] [stdout]    |
[INFO] [stdout] 51 |         LittleEndian::write_u16(&mut buf[16..18], header.source_address);
[INFO] [stdout]    |                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:60:46
[INFO] [stdout]    |
[INFO] [stdout] 60 |             LittleEndian::write_u16(&mut buf[20..22], packet.command);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:61:46
[INFO] [stdout]    |
[INFO] [stdout] 61 |             LittleEndian::write_u16(&mut buf[22..24], frame_data_length as u16);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |             buf[26..(26 + frame_data_length)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:65:53
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 .copy_from_slice(&packet.frame_data[0..frame_data_length]);
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:68:46
[INFO] [stdout]    |
[INFO] [stdout] 68 |             LittleEndian::write_u16(&mut buf[20..22], dgram.command);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:73:46
[INFO] [stdout]    |
[INFO] [stdout] 73 |             LittleEndian::write_i16(&mut buf[26..28], dgram.param16);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:74:46
[INFO] [stdout]    |
[INFO] [stdout] 74 |             LittleEndian::write_i32(&mut buf[28..32], dgram.param32);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:81:46
[INFO] [stdout]    |
[INFO] [stdout] 81 |             LittleEndian::write_u16(&mut buf[22..24], frame_data_length as u16);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             buf[26..(26 + frame_data_length)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:85:52
[INFO] [stdout]    |
[INFO] [stdout] 85 |                 .copy_from_slice(&tgram.frame_data[0..frame_data_length]);
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 |         Ok(&bytes[0..self.previous_length])
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:117:78
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 let data_set_timestamp = timestamp_from_checked_bytes(&bytes[6..14]);
[INFO] [stdout]     |                                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:198:81
[INFO] [stdout]     |
[INFO] [stdout] 198 |                     let record_timestamp = timestamp_from_checked_bytes(&record[6..14]);
[INFO] [stdout]     |                                                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:49:36
[INFO] [stdout]    |
[INFO] [stdout] 49 |         self.writer.write_all(&buf[0..14])?;
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 self.writer.write_all(&buf[0..16])?;
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:63:40
[INFO] [stdout]    |
[INFO] [stdout] 63 |             self.writer.write_all(&buf[0..length])?;
[INFO] [stdout]    |                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/specification.rs:839:48
[INFO] [stdout]     |
[INFO] [stdout] 839 | ...                   write!(f, "{}", &s[1..])?;
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification.rs:924:57
[INFO] [stdout]     |
[INFO] [stdout] 924 |                     let frame_data = &packet.frame_data[0..packet.frame_count as usize * 4];
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/specification_file.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |     &buf[offset..(offset + length)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:357:65
[INFO] [stdout]     |
[INFO] [stdout] 357 |             let checksum_a = LittleEndian::read_u16(&fileheader[0x00..0x02]);
[INFO] [stdout]     |                                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:358:65
[INFO] [stdout]     |
[INFO] [stdout] 358 |             let checksum_b = LittleEndian::read_u16(&fileheader[0x02..0x04]);
[INFO] [stdout]     |                                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:359:67
[INFO] [stdout]     |
[INFO] [stdout] 359 |             let total_length = LittleEndian::read_i32(&fileheader[0x04..0x08]) as usize;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:360:67
[INFO] [stdout]     |
[INFO] [stdout] 360 |             let data_version = LittleEndian::read_i32(&fileheader[0x08..0x0C]);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:361:75
[INFO] [stdout]     |
[INFO] [stdout] 361 |             let specification_offset = LittleEndian::read_i32(&fileheader[0x0C..0x10]) as usize;
[INFO] [stdout]     |                                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:365:41
[INFO] [stdout]     |
[INFO] [stdout] 365 |             } else if calc_crc16(&bytes[0x04..total_length]) != checksum_a {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:497:54
[INFO] [stdout]     |
[INFO] [stdout] 497 |         let datecode = LittleEndian::read_i32(&block[0x00..0x04]);
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:498:56
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let text_count = LittleEndian::read_i32(&block[0x04..0x08]) as usize;
[INFO] [stdout]     |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:499:63
[INFO] [stdout]     |
[INFO] [stdout] 499 |         let text_table_offset = LittleEndian::read_i32(&block[0x08..0x0C]) as usize;
[INFO] [stdout]     |                                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:500:66
[INFO] [stdout]     |
[INFO] [stdout] 500 |         let localized_text_count = LittleEndian::read_i32(&block[0x0C..0x10]) as usize;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:501:73
[INFO] [stdout]     |
[INFO] [stdout] 501 |         let localized_text_table_offset = LittleEndian::read_i32(&block[0x10..0x14]) as usize;
[INFO] [stdout]     |                                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:502:56
[INFO] [stdout]     |
[INFO] [stdout] 502 |         let unit_count = LittleEndian::read_i32(&block[0x14..0x18]) as usize;
[INFO] [stdout]     |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:503:63
[INFO] [stdout]     |
[INFO] [stdout] 503 |         let unit_table_offset = LittleEndian::read_i32(&block[0x18..0x1C]) as usize;
[INFO] [stdout]     |                                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:504:67
[INFO] [stdout]     |
[INFO] [stdout] 504 |         let device_template_count = LittleEndian::read_i32(&block[0x1C..0x20]) as usize;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:505:74
[INFO] [stdout]     |
[INFO] [stdout] 505 |         let device_template_table_offset = LittleEndian::read_i32(&block[0x20..0x24]) as usize;
[INFO] [stdout]     |                                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:506:67
[INFO] [stdout]     |
[INFO] [stdout] 506 |         let packet_template_count = LittleEndian::read_i32(&block[0x24..0x28]) as usize;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:507:74
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let packet_template_table_offset = LittleEndian::read_i32(&block[0x28..0x2C]) as usize;
[INFO] [stdout]     |                                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:537:26
[INFO] [stdout]     |
[INFO] [stdout] 537 |             for index in 0..text_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:542:26
[INFO] [stdout]     |
[INFO] [stdout] 542 |             for index in 0..localized_text_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:548:26
[INFO] [stdout]     |
[INFO] [stdout] 548 |             for index in 0..unit_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:553:26
[INFO] [stdout]     |
[INFO] [stdout] 553 |             for index in 0..device_template_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:559:26
[INFO] [stdout]     |
[INFO] [stdout] 559 |             for index in 0..packet_template_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:571:59
[INFO] [stdout]     |
[INFO] [stdout] 571 |         let string_offset = LittleEndian::read_i32(&block[0x00..0x04]) as usize;
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:580:46
[INFO] [stdout]     |
[INFO] [stdout] 580 |             match std::str::from_utf8(&bytes[string_offset..string_end]) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:594:59
[INFO] [stdout]     |
[INFO] [stdout] 594 |         let text_index_en = LittleEndian::read_i32(&block[0x00..0x04]);
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:595:59
[INFO] [stdout]     |
[INFO] [stdout] 595 |         let text_index_de = LittleEndian::read_i32(&block[0x04..0x08]);
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:596:59
[INFO] [stdout]     |
[INFO] [stdout] 596 |         let text_index_fr = LittleEndian::read_i32(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:615:53
[INFO] [stdout]     |
[INFO] [stdout] 615 |         let unit_id = LittleEndian::read_i32(&block[0x00..0x04]);
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:616:60
[INFO] [stdout]     |
[INFO] [stdout] 616 |         let unit_family_id = LittleEndian::read_i32(&block[0x04..0x08]);
[INFO] [stdout]     |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:617:66
[INFO] [stdout]     |
[INFO] [stdout] 617 |         let unit_code_text_index = LittleEndian::read_i32(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:618:66
[INFO] [stdout]     |
[INFO] [stdout] 618 |         let unit_text_text_index = LittleEndian::read_i32(&block[0x0C..0x10]);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:643:58
[INFO] [stdout]     |
[INFO] [stdout] 643 |         let self_address = LittleEndian::read_u16(&block[0x00..0x02]);
[INFO] [stdout]     |                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:644:55
[INFO] [stdout]     |
[INFO] [stdout] 644 |         let self_mask = LittleEndian::read_u16(&block[0x02..0x04]);
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:645:58
[INFO] [stdout]     |
[INFO] [stdout] 645 |         let peer_address = LittleEndian::read_u16(&block[0x04..0x06]);
[INFO] [stdout]     |                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:646:55
[INFO] [stdout]     |
[INFO] [stdout] 646 |         let peer_mask = LittleEndian::read_u16(&block[0x06..0x08]);
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:647:71
[INFO] [stdout]     |
[INFO] [stdout] 647 |         let name_localized_text_index = LittleEndian::read_i32(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:669:65
[INFO] [stdout]     |
[INFO] [stdout] 669 |         let destination_address = LittleEndian::read_u16(&block[0x00..0x02]);
[INFO] [stdout]     |                                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:670:62
[INFO] [stdout]     |
[INFO] [stdout] 670 |         let destination_mask = LittleEndian::read_u16(&block[0x02..0x04]);
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:671:60
[INFO] [stdout]     |
[INFO] [stdout] 671 |         let source_address = LittleEndian::read_u16(&block[0x04..0x06]);
[INFO] [stdout]     |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:672:57
[INFO] [stdout]     |
[INFO] [stdout] 672 |         let source_mask = LittleEndian::read_u16(&block[0x06..0x08]);
[INFO] [stdout]     |                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:673:53
[INFO] [stdout]     |
[INFO] [stdout] 673 |         let command = LittleEndian::read_u16(&block[0x08..0x0A]);
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:674:57
[INFO] [stdout]     |
[INFO] [stdout] 674 |         let field_count = LittleEndian::read_i32(&block[0x0C..0x10]) as usize;
[INFO] [stdout]     |                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:675:64
[INFO] [stdout]     |
[INFO] [stdout] 675 |         let field_table_offset = LittleEndian::read_i32(&block[0x10..0x14]) as usize;
[INFO] [stdout]     |                                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:681:26
[INFO] [stdout]     |
[INFO] [stdout] 681 |             for index in 0..field_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:705:59
[INFO] [stdout]     |
[INFO] [stdout] 705 |         let id_text_index = LittleEndian::read_i32(&block[0x00..0x04]);
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:706:71
[INFO] [stdout]     |
[INFO] [stdout] 706 |         let name_localized_text_index = LittleEndian::read_i32(&block[0x04..0x08]);
[INFO] [stdout]     |                                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:707:53
[INFO] [stdout]     |
[INFO] [stdout] 707 |         let unit_id = LittleEndian::read_i32(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:708:55
[INFO] [stdout]     |
[INFO] [stdout] 708 |         let precision = LittleEndian::read_i32(&block[0x0C..0x10]);
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:709:53
[INFO] [stdout]     |
[INFO] [stdout] 709 |         let type_id = LittleEndian::read_i32(&block[0x10..0x14]);
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:710:56
[INFO] [stdout]     |
[INFO] [stdout] 710 |         let part_count = LittleEndian::read_i32(&block[0x14..0x18]) as usize;
[INFO] [stdout]     |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:711:63
[INFO] [stdout]     |
[INFO] [stdout] 711 |         let part_table_offset = LittleEndian::read_i32(&block[0x18..0x1C]) as usize;
[INFO] [stdout]     |                                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:725:26
[INFO] [stdout]     |
[INFO] [stdout] 725 |             for index in 0..part_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:749:57
[INFO] [stdout]     |
[INFO] [stdout] 749 |         let data_offset = LittleEndian::read_i32(&block[0x00..0x04]);
[INFO] [stdout]     |                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:753:52
[INFO] [stdout]     |
[INFO] [stdout] 753 |         let factor = LittleEndian::read_i64(&block[0x08..0x10]);
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/telegram.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self.frame_data[0..end]
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/telegram.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |         &mut self.frame_data[0..end]
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |     calc_checksum_v0(&buf[0..idx]) == buf[idx]
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |     buf[idx] = calc_checksum_v0(&buf[0..idx]);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/test_utils.rs:63:32
[INFO] [stdout]     |
[INFO] [stdout] 63  |         let len = (&self.bytes[self.read_index..]).read(buf)?;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(range_syntax)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |             drop(self.buf.drain(0..self.start));
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |         &self.buf[self.start..]
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         buf[0..len].copy_from_slice(&self[0..len]);
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_buffer.rs:79:43
[INFO] [stdout]    |
[INFO] [stdout] 79 |         buf[0..len].copy_from_slice(&self[0..len]);
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/blob_buffer.rs:152:39
[INFO] [stdout]     |
[INFO] [stdout] 152 |         assert_eq!(&[0x05, 0x06], &bb[2..4]);
[INFO] [stdout]     |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/blob_reader.rs:82:41
[INFO] [stdout]    |
[INFO] [stdout] 82 |         self.buf.extend_from_slice(&buf[0..size]);
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data.rs:355:66
[INFO] [stdout]     |
[INFO] [stdout] 355 |         data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..])
[INFO] [stdout]     |                                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data.rs:359:66
[INFO] [stdout]     |
[INFO] [stdout] 359 |         data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[352..])
[INFO] [stdout]     |                                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data.rs:363:70
[INFO] [stdout]     |
[INFO] [stdout] 363 |         data_from_checked_bytes(timestamp, channel, &LIVE_TELEGRAM_1[0..])
[INFO] [stdout]     |                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:230:84
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let packet_data = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:231:83
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let dgram_data = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[352..]);
[INFO] [stdout]     |                                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:232:87
[INFO] [stdout]     |
[INFO] [stdout] 232 |         let tgram_data = data_from_checked_bytes(timestamp, channel, &LIVE_TELEGRAM_1[0..]);
[INFO] [stdout]     |                                                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:248:83
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let data = data_from_checked_bytes(other_timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:259:83
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let data = data_from_checked_bytes(timestamp, other_channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:319:26
[INFO] [stdout]     |
[INFO] [stdout] 319 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:324:26
[INFO] [stdout]     |
[INFO] [stdout] 324 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:329:30
[INFO] [stdout]     |
[INFO] [stdout] 329 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:362:26
[INFO] [stdout]     |
[INFO] [stdout] 362 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:367:26
[INFO] [stdout]     |
[INFO] [stdout] 367 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:372:30
[INFO] [stdout]     |
[INFO] [stdout] 372 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:398:26
[INFO] [stdout]     |
[INFO] [stdout] 398 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:403:26
[INFO] [stdout]     |
[INFO] [stdout] 403 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:408:30
[INFO] [stdout]     |
[INFO] [stdout] 408 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:436:26
[INFO] [stdout]     |
[INFO] [stdout] 436 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:441:26
[INFO] [stdout]     |
[INFO] [stdout] 441 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:446:26
[INFO] [stdout]     |
[INFO] [stdout] 446 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:451:30
[INFO] [stdout]     |
[INFO] [stdout] 451 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:456:26
[INFO] [stdout]     |
[INFO] [stdout] 456 |             &LIVE_DATA_1[258..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:461:26
[INFO] [stdout]     |
[INFO] [stdout] 461 |             &LIVE_DATA_1[242..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:466:26
[INFO] [stdout]     |
[INFO] [stdout] 466 |             &LIVE_DATA_1[172..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:542:26
[INFO] [stdout]     |
[INFO] [stdout] 542 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:547:26
[INFO] [stdout]     |
[INFO] [stdout] 547 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:552:26
[INFO] [stdout]     |
[INFO] [stdout] 552 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:557:30
[INFO] [stdout]     |
[INFO] [stdout] 557 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:562:26
[INFO] [stdout]     |
[INFO] [stdout] 562 |             &LIVE_DATA_1[258..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:567:26
[INFO] [stdout]     |
[INFO] [stdout] 567 |             &LIVE_DATA_1[242..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:572:26
[INFO] [stdout]     |
[INFO] [stdout] 572 |             &LIVE_DATA_1[172..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:606:39
[INFO] [stdout]     |
[INFO] [stdout] 606 |             let l_id = &l.id_string()[8..];
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:607:39
[INFO] [stdout]     |
[INFO] [stdout] 607 |             let r_id = &r.id_string()[8..];
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:652:26
[INFO] [stdout]     |
[INFO] [stdout] 652 |             &LIVE_DATA_1[0..],
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:657:26
[INFO] [stdout]     |
[INFO] [stdout] 657 |             &LIVE_DATA_1[352..],
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/data_set.rs:662:30
[INFO] [stdout]     |
[INFO] [stdout] 662 |             &LIVE_TELEGRAM_1[0..],
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_buffer.rs:60:32
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 Some(&self.buf[0..length])
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_buffer.rs:107:44
[INFO] [stdout]     |
[INFO] [stdout] 107 |         ldb.extend_from_slice(&LIVE_DATA_1[1..]);
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:26:32
[INFO] [stdout]    |
[INFO] [stdout] 26 |     } else if has_msb_set(&buf[1..6]) {
[INFO] [stdout]    |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:35:40
[INFO] [stdout]    |
[INFO] [stdout] 35 |             } else if has_msb_set(&buf[6..10]) {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:37:58
[INFO] [stdout]    |
[INFO] [stdout] 37 |             } else if !calc_and_compare_checksum_v0(&buf[1..10]) {
[INFO] [stdout]    |                                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:44:44
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 } else if has_msb_set(&buf[10..expected_len]) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:47:34
[INFO] [stdout]    |
[INFO] [stdout] 47 |                     let valid = (0..frame_count).all(|frame_idx| {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:49:59
[INFO] [stdout]    |
[INFO] [stdout] 49 |                         calc_and_compare_checksum_v0(&buf[frame_start..frame_start + 6])
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:61:40
[INFO] [stdout]    |
[INFO] [stdout] 61 |             } else if has_msb_set(&buf[6..16]) {
[INFO] [stdout]    |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:63:58
[INFO] [stdout]    |
[INFO] [stdout] 63 |             } else if !calc_and_compare_checksum_v0(&buf[1..16]) {
[INFO] [stdout]    |                                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |             } else if has_msb_set(&buf[6..8]) {
[INFO] [stdout]    |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:73:58
[INFO] [stdout]    |
[INFO] [stdout] 73 |             } else if !calc_and_compare_checksum_v0(&buf[1..8]) {
[INFO] [stdout]    |                                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:80:44
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 } else if has_msb_set(&buf[8..expected_len]) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:83:34
[INFO] [stdout]    |
[INFO] [stdout] 83 |                     let valid = (0..frame_count).all(|frame_idx| {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_decoder.rs:85:59
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         calc_and_compare_checksum_v0(&buf[frame_start..frame_start + 9])
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:108:58
[INFO] [stdout]     |
[INFO] [stdout] 108 |         destination_address: LittleEndian::read_u16(&buf[1..]),
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:109:53
[INFO] [stdout]     |
[INFO] [stdout] 109 |         source_address: LittleEndian::read_u16(&buf[3..]),
[INFO] [stdout]     |                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:117:26
[INFO] [stdout]     |
[INFO] [stdout] 117 |         for frame_idx in 0..frame_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:121:33
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 &mut frame_data[dst_start..dst_start + 4],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:122:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 &buf[src_start..src_start + 5],
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:128:50
[INFO] [stdout]     |
[INFO] [stdout] 128 |             command: LittleEndian::read_u16(&buf[6..]),
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:134:57
[INFO] [stdout]     |
[INFO] [stdout] 134 |         copy_bytes_injecting_septett(&mut payload, &buf[8..15]);
[INFO] [stdout]     |                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:138:50
[INFO] [stdout]     |
[INFO] [stdout] 138 |             command: LittleEndian::read_u16(&buf[6..]),
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:139:54
[INFO] [stdout]     |
[INFO] [stdout] 139 |             param16: LittleEndian::read_i16(&payload[0..]),
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:140:54
[INFO] [stdout]     |
[INFO] [stdout] 140 |             param32: LittleEndian::read_i32(&payload[2..]),
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |         for frame_idx in 0..frame_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:151:33
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 &mut frame_data[dst_start..dst_start + 7],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:152:22
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 &buf[src_start..src_start + 8],
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:321:68
[INFO] [stdout]     |
[INFO] [stdout] 321 |         assert_eq!(BlobLength(172), length_from_bytes(&LIVE_DATA_1[0..]));
[INFO] [stdout]     |                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:322:67
[INFO] [stdout]     |
[INFO] [stdout] 322 |         assert_eq!(BlobLength(70), length_from_bytes(&LIVE_DATA_1[172..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:323:67
[INFO] [stdout]     |
[INFO] [stdout] 323 |         assert_eq!(BlobLength(16), length_from_bytes(&LIVE_DATA_1[242..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:324:67
[INFO] [stdout]     |
[INFO] [stdout] 324 |         assert_eq!(BlobLength(94), length_from_bytes(&LIVE_DATA_1[258..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:325:67
[INFO] [stdout]     |
[INFO] [stdout] 325 |         assert_eq!(BlobLength(16), length_from_bytes(&LIVE_DATA_1[352..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:326:71
[INFO] [stdout]     |
[INFO] [stdout] 326 |         assert_eq!(BlobLength(17), length_from_bytes(&LIVE_TELEGRAM_1[0..]));
[INFO] [stdout]     |                                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:334:77
[INFO] [stdout]     |
[INFO] [stdout] 334 |         let data = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_decoder.rs:374:50
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 to_hex_string(&packet.frame_data[0..108])
[INFO] [stdout]     |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:28:46
[INFO] [stdout]    |
[INFO] [stdout] 28 |             LittleEndian::write_u16(&mut buf[1..3], packet.header.destination_address);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:29:46
[INFO] [stdout]    |
[INFO] [stdout] 29 |             LittleEndian::write_u16(&mut buf[3..5], packet.header.source_address);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |             LittleEndian::write_u16(&mut buf[6..8], packet.command);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:33:47
[INFO] [stdout]    |
[INFO] [stdout] 33 |             calc_and_set_checksum_v0(&mut buf[1..10]);
[INFO] [stdout]    |                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |             for frame_idx in 0..(packet.frame_count as usize) {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:39:30
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     &mut buf[dst_start..dst_start + 5],
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:40:40
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     &packet.frame_data[src_start..src_start + 4],
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:42:51
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 calc_and_set_checksum_v0(&mut buf[dst_start..dst_start + 6]);
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:47:46
[INFO] [stdout]    |
[INFO] [stdout] 47 |             LittleEndian::write_u16(&mut buf[1..3], dgram.header.destination_address);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:48:46
[INFO] [stdout]    |
[INFO] [stdout] 48 |             LittleEndian::write_u16(&mut buf[3..5], dgram.header.source_address);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 |             LittleEndian::write_u16(&mut buf[6..8], dgram.command);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:52:50
[INFO] [stdout]    |
[INFO] [stdout] 52 |             LittleEndian::write_i16(&mut payload[0..], dgram.param16);
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:53:50
[INFO] [stdout]    |
[INFO] [stdout] 53 |             LittleEndian::write_i32(&mut payload[2..], dgram.param32);
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:54:52
[INFO] [stdout]    |
[INFO] [stdout] 54 |             copy_bytes_extracting_septett(&mut buf[8..15], &payload);
[INFO] [stdout]    |                                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:55:47
[INFO] [stdout]    |
[INFO] [stdout] 55 |             calc_and_set_checksum_v0(&mut buf[1..16]);
[INFO] [stdout]    |                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:59:46
[INFO] [stdout]    |
[INFO] [stdout] 59 |             LittleEndian::write_u16(&mut buf[1..3], tgram.header.destination_address);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:60:46
[INFO] [stdout]    |
[INFO] [stdout] 60 |             LittleEndian::write_u16(&mut buf[3..5], tgram.header.source_address);
[INFO] [stdout]    |                                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:63:47
[INFO] [stdout]    |
[INFO] [stdout] 63 |             calc_and_set_checksum_v0(&mut buf[1..8]);
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:65:30
[INFO] [stdout]    |
[INFO] [stdout] 65 |             for frame_idx in 0..(tgram.frame_count() as usize) {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:69:30
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     &mut buf[dst_start..dst_start + 8],
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:70:39
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     &tgram.frame_data[src_start..src_start + 7],
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:72:51
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 calc_and_set_checksum_v0(&mut buf[dst_start..dst_start + 9]);
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:94:78
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let data1 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]    |                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_encoder.rs:98:78
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let data2 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[352..]);
[INFO] [stdout]    |                                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:102:82
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let data3 = data_from_checked_bytes(timestamp, channel, &LIVE_TELEGRAM_1[0..]);
[INFO] [stdout]     |                                                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:112:78
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let data1 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]     |                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:116:33
[INFO] [stdout]     |
[INFO] [stdout] 116 |         assert_eq!(&LIVE_DATA_1[0..172], &buf[0..172]);
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:116:47
[INFO] [stdout]     |
[INFO] [stdout] 116 |         assert_eq!(&LIVE_DATA_1[0..172], &buf[0..172]);
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:118:78
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let data2 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[352..]);
[INFO] [stdout]     |                                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:121:33
[INFO] [stdout]     |
[INFO] [stdout] 121 |         assert_eq!(&LIVE_DATA_1[352..368], &buf[0..16]);
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:121:49
[INFO] [stdout]     |
[INFO] [stdout] 121 |         assert_eq!(&LIVE_DATA_1[352..368], &buf[0..16]);
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:123:82
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let data3 = data_from_checked_bytes(timestamp, channel, &LIVE_TELEGRAM_1[0..]);
[INFO] [stdout]     |                                                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:126:37
[INFO] [stdout]     |
[INFO] [stdout] 126 |         assert_eq!(&LIVE_TELEGRAM_1[0..17], &buf[0..17]);
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_encoder.rs:126:50
[INFO] [stdout]     |
[INFO] [stdout] 126 |         assert_eq!(&LIVE_TELEGRAM_1[0..17], &buf[0..17]);
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_reader.rs:53:41
[INFO] [stdout]    |
[INFO] [stdout] 53 |         self.buf.extend_from_slice(&buf[0..size]);
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_reader.rs:121:59
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut ldr = LiveDataReader::new(0, &LIVE_DATA_1[1..]);
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_recording_reader.rs:98:85
[INFO] [stdout]    |
[INFO] [stdout] 98 | ...                   recording_decoder::timestamp_from_checked_bytes(&record[14..22]);
[INFO] [stdout]    |                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:117:56
[INFO] [stdout]     |
[INFO] [stdout] 117 |                     self.buf.extend_from_slice(&record[22..]);
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:122:78
[INFO] [stdout]     |
[INFO] [stdout] 122 |                         match live_data_decoder::length_from_bytes(&self.buf[start..]) {
[INFO] [stdout]     |                                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:148:45
[INFO] [stdout]     |
[INFO] [stdout] 148 |                         drop(self.buf.drain(0..consumed));
[INFO] [stdout]     |                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:211:70
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 match live_data_decoder::length_from_bytes(&self.buf[start..]) {
[INFO] [stdout]     |                                                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:216:39
[INFO] [stdout]     |
[INFO] [stdout] 216 | ...                   &self.buf[start..start + length],
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:219:45
[INFO] [stdout]     |
[INFO] [stdout] 219 |                         drop(self.buf.drain(0..start + length));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:238:85
[INFO] [stdout]     |
[INFO] [stdout] 238 | ...                   recording_decoder::timestamp_from_checked_bytes(&record[14..22]);
[INFO] [stdout]     |                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:259:60
[INFO] [stdout]     |
[INFO] [stdout] 259 |                         self.buf.extend_from_slice(&record[22..]);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:294:85
[INFO] [stdout]     |
[INFO] [stdout] 294 | ...                   recording_decoder::timestamp_from_checked_bytes(&record[14..22]);
[INFO] [stdout]     |                                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:312:56
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     self.buf.extend_from_slice(&record[22..]);
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:317:78
[INFO] [stdout]     |
[INFO] [stdout] 317 |                         match live_data_decoder::length_from_bytes(&self.buf[start..]) {
[INFO] [stdout]     |                                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_recording_reader.rs:334:45
[INFO] [stdout]     |
[INFO] [stdout] 334 |                         drop(self.buf.drain(0..consumed));
[INFO] [stdout]     |                                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_recording_writer.rs:48:54
[INFO] [stdout]    |
[INFO] [stdout] 48 |         bytes_from_timestamp(end_timestamp, &mut buf[14..22]);
[INFO] [stdout]    |                                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_recording_writer.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         buf[22..].copy_from_slice(data);
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:76:78
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let data1 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[0..]);
[INFO] [stdout]    |                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:83:33
[INFO] [stdout]    |
[INFO] [stdout] 83 |         assert_eq!(&LIVE_DATA_1[0..172], &buf[0..172]);
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:83:47
[INFO] [stdout]    |
[INFO] [stdout] 83 |         assert_eq!(&LIVE_DATA_1[0..172], &buf[0..172]);
[INFO] [stdout]    |                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:85:78
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let data2 = data_from_checked_bytes(timestamp, channel, &LIVE_DATA_1[352..]);
[INFO] [stdout]    |                                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:92:33
[INFO] [stdout]    |
[INFO] [stdout] 92 |         assert_eq!(&LIVE_DATA_1[352..368], &buf[0..16]);
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:92:49
[INFO] [stdout]    |
[INFO] [stdout] 92 |         assert_eq!(&LIVE_DATA_1[352..368], &buf[0..16]);
[INFO] [stdout]    |                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/live_data_writer.rs:94:82
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let data3 = data_from_checked_bytes(timestamp, channel, &LIVE_TELEGRAM_1[0..]);
[INFO] [stdout]    |                                                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_writer.rs:101:37
[INFO] [stdout]     |
[INFO] [stdout] 101 |         assert_eq!(&LIVE_TELEGRAM_1[0..17], &buf[0..17]);
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/live_data_writer.rs:101:50
[INFO] [stdout]     |
[INFO] [stdout] 101 |         assert_eq!(&LIVE_TELEGRAM_1[0..17], &buf[0..17]);
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/packet.rs:215:30
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let field_id = &self[21..];
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/packet.rs:313:26
[INFO] [stdout]     |
[INFO] [stdout] 313 |         &self.frame_data[0..end]
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/packet.rs:342:30
[INFO] [stdout]     |
[INFO] [stdout] 342 |         &mut self.frame_data[0..end]
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:31:56
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let expected_len = LittleEndian::read_u16(&buf[2..4]) as usize;
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:44:52
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let timestamp_ms = LittleEndian::read_i64(&buf[0..8]);
[INFO] [stdout]    |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:52:55
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let timestamp = timestamp_from_checked_bytes(&buf[6..14]);
[INFO] [stdout]    |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:53:59
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let destination_address = LittleEndian::read_u16(&buf[14..16]);
[INFO] [stdout]    |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:54:54
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let source_address = LittleEndian::read_u16(&buf[16..18]);
[INFO] [stdout]    |                                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:59:51
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let command = LittleEndian::read_u16(&buf[20..22]);
[INFO] [stdout]    |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:60:61
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let frame_data_length = LittleEndian::read_u16(&buf[22..24]) as usize;
[INFO] [stdout]    |                                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:64:20
[INFO] [stdout]    |
[INFO] [stdout] 64 |         frame_data[0..frame_data_length].copy_from_slice(&buf[26..26 + frame_data_length]);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:64:63
[INFO] [stdout]    |
[INFO] [stdout] 64 |         frame_data[0..frame_data_length].copy_from_slice(&buf[26..26 + frame_data_length]);
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:79:51
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let command = LittleEndian::read_u16(&buf[20..22]);
[INFO] [stdout]    |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:80:51
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let param16 = LittleEndian::read_i16(&buf[26..28]);
[INFO] [stdout]    |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_decoder.rs:81:51
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let param32 = LittleEndian::read_i32(&buf[28..32]);
[INFO] [stdout]    |                                                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:116:77
[INFO] [stdout]     |
[INFO] [stdout] 116 |                         let frame_data_length = LittleEndian::read_u16(&buf[22..24]) as usize;
[INFO] [stdout]     |                                                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:179:67
[INFO] [stdout]     |
[INFO] [stdout] 179 |         assert_eq!(BlobLength(14), length_from_bytes(&RECORDING_1[0..]));
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:180:67
[INFO] [stdout]     |
[INFO] [stdout] 180 |         assert_eq!(BlobLength(70), length_from_bytes(&RECORDING_1[14..]));
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:181:67
[INFO] [stdout]     |
[INFO] [stdout] 181 |         assert_eq!(BlobLength(16), length_from_bytes(&RECORDING_1[84..]));
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:182:68
[INFO] [stdout]     |
[INFO] [stdout] 182 |         assert_eq!(BlobLength(134), length_from_bytes(&RECORDING_1[100..]));
[INFO] [stdout]     |                                                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:183:67
[INFO] [stdout]     |
[INFO] [stdout] 183 |         assert_eq!(BlobLength(30), length_from_bytes(&RECORDING_1[234..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:184:67
[INFO] [stdout]     |
[INFO] [stdout] 184 |         assert_eq!(BlobLength(66), length_from_bytes(&RECORDING_1[264..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:185:67
[INFO] [stdout]     |
[INFO] [stdout] 185 |         assert_eq!(BlobLength(82), length_from_bytes(&RECORDING_1[330..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:186:67
[INFO] [stdout]     |
[INFO] [stdout] 186 |         assert_eq!(BlobLength(82), length_from_bytes(&RECORDING_1[412..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:187:67
[INFO] [stdout]     |
[INFO] [stdout] 187 |         assert_eq!(BlobLength(82), length_from_bytes(&RECORDING_1[494..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:188:67
[INFO] [stdout]     |
[INFO] [stdout] 188 |         assert_eq!(BlobLength(82), length_from_bytes(&RECORDING_1[576..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:189:67
[INFO] [stdout]     |
[INFO] [stdout] 189 |         assert_eq!(BlobLength(82), length_from_bytes(&RECORDING_1[658..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:192:67
[INFO] [stdout]     |
[INFO] [stdout] 192 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[0..]));
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:193:67
[INFO] [stdout]     |
[INFO] [stdout] 193 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[32..]));
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:194:67
[INFO] [stdout]     |
[INFO] [stdout] 194 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[64..]));
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:195:67
[INFO] [stdout]     |
[INFO] [stdout] 195 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[96..]));
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:196:67
[INFO] [stdout]     |
[INFO] [stdout] 196 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[128..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:197:67
[INFO] [stdout]     |
[INFO] [stdout] 197 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[160..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:198:67
[INFO] [stdout]     |
[INFO] [stdout] 198 |         assert_eq!(BlobLength(32), length_from_bytes(&RECORDING_3[192..]));
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:204:67
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[20..]);
[INFO] [stdout]     |                                                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:207:67
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[106..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:210:67
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[240..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:213:67
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[270..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:216:67
[INFO] [stdout]     |
[INFO] [stdout] 216 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[336..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:219:67
[INFO] [stdout]     |
[INFO] [stdout] 219 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[418..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:222:67
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[500..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:225:67
[INFO] [stdout]     |
[INFO] [stdout] 225 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[582..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:228:67
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let timestamp = timestamp_from_checked_bytes(&RECORDING_1[664..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:234:63
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let data = data_from_checked_bytes(0x00, &RECORDING_1[14..]);
[INFO] [stdout]     |                                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:241:63
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[100..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:248:63
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[234..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:255:63
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[264..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:262:63
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[330..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:269:63
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[412..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:276:63
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[494..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:283:63
[INFO] [stdout]     |
[INFO] [stdout] 283 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[576..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:290:63
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let data = data_from_checked_bytes(0x01, &RECORDING_1[658..]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:297:63
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[0..32]);
[INFO] [stdout]     |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:304:63
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[32..64]);
[INFO] [stdout]     |                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:311:63
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[64..96]);
[INFO] [stdout]     |                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:318:63
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[96..128]);
[INFO] [stdout]     |                                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:325:63
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[128..160]);
[INFO] [stdout]     |                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:332:63
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[160..192]);
[INFO] [stdout]     |                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:339:63
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let data = data_from_checked_bytes(0x01, &RECORDING_3[192..224]);
[INFO] [stdout]     |                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:349:61
[INFO] [stdout]     |
[INFO] [stdout] 349 |         assert_eq!(None, data_from_bytes(0x00, &RECORDING_1[0..]));
[INFO] [stdout]     |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:352:48
[INFO] [stdout]     |
[INFO] [stdout] 352 |             data_from_bytes(0x00, &RECORDING_1[14..])
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:356:61
[INFO] [stdout]     |
[INFO] [stdout] 356 |         assert_eq!(None, data_from_bytes(0x00, &RECORDING_1[84..]));
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:359:48
[INFO] [stdout]     |
[INFO] [stdout] 359 |             data_from_bytes(0x01, &RECORDING_1[100..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:365:48
[INFO] [stdout]     |
[INFO] [stdout] 365 |             data_from_bytes(0x01, &RECORDING_1[234..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:371:48
[INFO] [stdout]     |
[INFO] [stdout] 371 |             data_from_bytes(0x01, &RECORDING_1[264..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:377:48
[INFO] [stdout]     |
[INFO] [stdout] 377 |             data_from_bytes(0x01, &RECORDING_1[330..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:383:48
[INFO] [stdout]     |
[INFO] [stdout] 383 |             data_from_bytes(0x01, &RECORDING_1[412..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:389:48
[INFO] [stdout]     |
[INFO] [stdout] 389 |             data_from_bytes(0x01, &RECORDING_1[494..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:395:48
[INFO] [stdout]     |
[INFO] [stdout] 395 |             data_from_bytes(0x01, &RECORDING_1[576..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:401:48
[INFO] [stdout]     |
[INFO] [stdout] 401 |             data_from_bytes(0x01, &RECORDING_1[658..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:408:48
[INFO] [stdout]     |
[INFO] [stdout] 408 |             data_from_bytes(0x01, &RECORDING_3[0..])
[INFO] [stdout]     |                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:414:48
[INFO] [stdout]     |
[INFO] [stdout] 414 |             data_from_bytes(0x01, &RECORDING_3[32..])
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:420:48
[INFO] [stdout]     |
[INFO] [stdout] 420 |             data_from_bytes(0x01, &RECORDING_3[64..])
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:426:48
[INFO] [stdout]     |
[INFO] [stdout] 426 |             data_from_bytes(0x01, &RECORDING_3[96..])
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:432:48
[INFO] [stdout]     |
[INFO] [stdout] 432 |             data_from_bytes(0x01, &RECORDING_3[128..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:438:48
[INFO] [stdout]     |
[INFO] [stdout] 438 |             data_from_bytes(0x01, &RECORDING_3[160..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_decoder.rs:444:48
[INFO] [stdout]     |
[INFO] [stdout] 444 |             data_from_bytes(0x01, &RECORDING_3[192..])
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:24:38
[INFO] [stdout]    |
[INFO] [stdout] 24 |     LittleEndian::write_i64(&mut buf[0..8], timestamp);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:31:38
[INFO] [stdout]    |
[INFO] [stdout] 31 |     LittleEndian::write_u16(&mut buf[2..4], length);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:32:38
[INFO] [stdout]    |
[INFO] [stdout] 32 |     LittleEndian::write_u16(&mut buf[4..6], length);
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:33:46
[INFO] [stdout]    |
[INFO] [stdout] 33 |     bytes_from_timestamp(timestamp, &mut buf[6..14]);
[INFO] [stdout]    |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:50:42
[INFO] [stdout]    |
[INFO] [stdout] 50 |         LittleEndian::write_u16(&mut buf[14..16], header.destination_address);
[INFO] [stdout]    |                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:51:42
[INFO] [stdout]    |
[INFO] [stdout] 51 |         LittleEndian::write_u16(&mut buf[16..18], header.source_address);
[INFO] [stdout]    |                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:60:46
[INFO] [stdout]    |
[INFO] [stdout] 60 |             LittleEndian::write_u16(&mut buf[20..22], packet.command);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:61:46
[INFO] [stdout]    |
[INFO] [stdout] 61 |             LittleEndian::write_u16(&mut buf[22..24], frame_data_length as u16);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |             buf[26..(26 + frame_data_length)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:65:53
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 .copy_from_slice(&packet.frame_data[0..frame_data_length]);
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:68:46
[INFO] [stdout]    |
[INFO] [stdout] 68 |             LittleEndian::write_u16(&mut buf[20..22], dgram.command);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:73:46
[INFO] [stdout]    |
[INFO] [stdout] 73 |             LittleEndian::write_i16(&mut buf[26..28], dgram.param16);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:74:46
[INFO] [stdout]    |
[INFO] [stdout] 74 |             LittleEndian::write_i32(&mut buf[28..32], dgram.param32);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:81:46
[INFO] [stdout]    |
[INFO] [stdout] 81 |             LittleEndian::write_u16(&mut buf[22..24], frame_data_length as u16);
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             buf[26..(26 + frame_data_length)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_encoder.rs:85:52
[INFO] [stdout]    |
[INFO] [stdout] 85 |                 .copy_from_slice(&tgram.frame_data[0..frame_data_length]);
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:106:67
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let data1 = data_from_checked_bytes(channel, &RECORDING_1[100..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:110:67
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let data2 = data_from_checked_bytes(channel, &RECORDING_3[0..]);
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:151:67
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let data1 = data_from_checked_bytes(channel, &RECORDING_1[100..]);
[INFO] [stdout]     |                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:154:33
[INFO] [stdout]     |
[INFO] [stdout] 154 |         assert_eq!(&RECORDING_1[100..234], &buf[0..134]);
[INFO] [stdout]     |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:154:49
[INFO] [stdout]     |
[INFO] [stdout] 154 |         assert_eq!(&RECORDING_1[100..234], &buf[0..134]);
[INFO] [stdout]     |                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:156:67
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let data2 = data_from_checked_bytes(channel, &RECORDING_3[0..]);
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:159:33
[INFO] [stdout]     |
[INFO] [stdout] 159 |         assert_eq!(&RECORDING_3[0..32], &buf[0..32]);
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_encoder.rs:159:46
[INFO] [stdout]     |
[INFO] [stdout] 159 |         assert_eq!(&RECORDING_3[0..32], &buf[0..32]);
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 |         Ok(&bytes[0..self.previous_length])
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:117:78
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 let data_set_timestamp = timestamp_from_checked_bytes(&bytes[6..14]);
[INFO] [stdout]     |                                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:198:81
[INFO] [stdout]     |
[INFO] [stdout] 198 |                     let record_timestamp = timestamp_from_checked_bytes(&record[6..14]);
[INFO] [stdout]     |                                                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/recording_reader.rs:298:56
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut rr = RecordingReader::new(&RECORDING_1[1..]);
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:49:36
[INFO] [stdout]    |
[INFO] [stdout] 49 |         self.writer.write_all(&buf[0..14])?;
[INFO] [stdout]    |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 self.writer.write_all(&buf[0..16])?;
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:63:40
[INFO] [stdout]    |
[INFO] [stdout] 63 |             self.writer.write_all(&buf[0..length])?;
[INFO] [stdout]    |                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:92:33
[INFO] [stdout]    |
[INFO] [stdout] 92 |         assert_eq!(&RECORDING_1[0..740], &writer[0..740]);
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/recording_writer.rs:92:50
[INFO] [stdout]    |
[INFO] [stdout] 92 |         assert_eq!(&RECORDING_1[0..740], &writer[0..740]);
[INFO] [stdout]    |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/specification.rs:839:48
[INFO] [stdout]     |
[INFO] [stdout] 839 | ...                   write!(f, "{}", &s[1..])?;
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification.rs:924:57
[INFO] [stdout]     |
[INFO] [stdout] 924 |                     let frame_data = &packet.frame_data[0..packet.frame_count as usize * 4];
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1041:18
[INFO] [stdout]      |
[INFO] [stdout] 1041 |         for n in 0..19 {
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1048:18
[INFO] [stdout]      |
[INFO] [stdout] 1048 |         for n in -20..20 {
[INFO] [stdout]      |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1305:37
[INFO] [stdout]      |
[INFO] [stdout] 1305 |                 .raw_value_i64(&buf[0..3])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1312:37
[INFO] [stdout]      |
[INFO] [stdout] 1312 |                 .raw_value_i64(&buf[0..2])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1319:37
[INFO] [stdout]      |
[INFO] [stdout] 1319 |                 .raw_value_i64(&buf[0..1])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1326:37
[INFO] [stdout]      |
[INFO] [stdout] 1326 |                 .raw_value_i64(&buf[0..0])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1370:37
[INFO] [stdout]      |
[INFO] [stdout] 1370 |                 .raw_value_f64(&buf[0..3])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1377:37
[INFO] [stdout]      |
[INFO] [stdout] 1377 |                 .raw_value_f64(&buf[0..2])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1384:37
[INFO] [stdout]      |
[INFO] [stdout] 1384 |                 .raw_value_f64(&buf[0..1])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]     --> src/specification.rs:1391:37
[INFO] [stdout]      |
[INFO] [stdout] 1391 |                 .raw_value_f64(&buf[0..0])
[INFO] [stdout]      |                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/specification_file.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |     &buf[offset..(offset + length)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:357:65
[INFO] [stdout]     |
[INFO] [stdout] 357 |             let checksum_a = LittleEndian::read_u16(&fileheader[0x00..0x02]);
[INFO] [stdout]     |                                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:358:65
[INFO] [stdout]     |
[INFO] [stdout] 358 |             let checksum_b = LittleEndian::read_u16(&fileheader[0x02..0x04]);
[INFO] [stdout]     |                                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:359:67
[INFO] [stdout]     |
[INFO] [stdout] 359 |             let total_length = LittleEndian::read_i32(&fileheader[0x04..0x08]) as usize;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:360:67
[INFO] [stdout]     |
[INFO] [stdout] 360 |             let data_version = LittleEndian::read_i32(&fileheader[0x08..0x0C]);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:361:75
[INFO] [stdout]     |
[INFO] [stdout] 361 |             let specification_offset = LittleEndian::read_i32(&fileheader[0x0C..0x10]) as usize;
[INFO] [stdout]     |                                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:365:41
[INFO] [stdout]     |
[INFO] [stdout] 365 |             } else if calc_crc16(&bytes[0x04..total_length]) != checksum_a {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:497:54
[INFO] [stdout]     |
[INFO] [stdout] 497 |         let datecode = LittleEndian::read_i32(&block[0x00..0x04]);
[INFO] [stdout]     |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:498:56
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let text_count = LittleEndian::read_i32(&block[0x04..0x08]) as usize;
[INFO] [stdout]     |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:499:63
[INFO] [stdout]     |
[INFO] [stdout] 499 |         let text_table_offset = LittleEndian::read_i32(&block[0x08..0x0C]) as usize;
[INFO] [stdout]     |                                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:500:66
[INFO] [stdout]     |
[INFO] [stdout] 500 |         let localized_text_count = LittleEndian::read_i32(&block[0x0C..0x10]) as usize;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:501:73
[INFO] [stdout]     |
[INFO] [stdout] 501 |         let localized_text_table_offset = LittleEndian::read_i32(&block[0x10..0x14]) as usize;
[INFO] [stdout]     |                                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:502:56
[INFO] [stdout]     |
[INFO] [stdout] 502 |         let unit_count = LittleEndian::read_i32(&block[0x14..0x18]) as usize;
[INFO] [stdout]     |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:503:63
[INFO] [stdout]     |
[INFO] [stdout] 503 |         let unit_table_offset = LittleEndian::read_i32(&block[0x18..0x1C]) as usize;
[INFO] [stdout]     |                                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:504:67
[INFO] [stdout]     |
[INFO] [stdout] 504 |         let device_template_count = LittleEndian::read_i32(&block[0x1C..0x20]) as usize;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:505:74
[INFO] [stdout]     |
[INFO] [stdout] 505 |         let device_template_table_offset = LittleEndian::read_i32(&block[0x20..0x24]) as usize;
[INFO] [stdout]     |                                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:506:67
[INFO] [stdout]     |
[INFO] [stdout] 506 |         let packet_template_count = LittleEndian::read_i32(&block[0x24..0x28]) as usize;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:507:74
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let packet_template_table_offset = LittleEndian::read_i32(&block[0x28..0x2C]) as usize;
[INFO] [stdout]     |                                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:537:26
[INFO] [stdout]     |
[INFO] [stdout] 537 |             for index in 0..text_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:542:26
[INFO] [stdout]     |
[INFO] [stdout] 542 |             for index in 0..localized_text_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:548:26
[INFO] [stdout]     |
[INFO] [stdout] 548 |             for index in 0..unit_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:553:26
[INFO] [stdout]     |
[INFO] [stdout] 553 |             for index in 0..device_template_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:559:26
[INFO] [stdout]     |
[INFO] [stdout] 559 |             for index in 0..packet_template_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:571:59
[INFO] [stdout]     |
[INFO] [stdout] 571 |         let string_offset = LittleEndian::read_i32(&block[0x00..0x04]) as usize;
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:580:46
[INFO] [stdout]     |
[INFO] [stdout] 580 |             match std::str::from_utf8(&bytes[string_offset..string_end]) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:594:59
[INFO] [stdout]     |
[INFO] [stdout] 594 |         let text_index_en = LittleEndian::read_i32(&block[0x00..0x04]);
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:595:59
[INFO] [stdout]     |
[INFO] [stdout] 595 |         let text_index_de = LittleEndian::read_i32(&block[0x04..0x08]);
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:596:59
[INFO] [stdout]     |
[INFO] [stdout] 596 |         let text_index_fr = LittleEndian::read_i32(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:615:53
[INFO] [stdout]     |
[INFO] [stdout] 615 |         let unit_id = LittleEndian::read_i32(&block[0x00..0x04]);
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:616:60
[INFO] [stdout]     |
[INFO] [stdout] 616 |         let unit_family_id = LittleEndian::read_i32(&block[0x04..0x08]);
[INFO] [stdout]     |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:617:66
[INFO] [stdout]     |
[INFO] [stdout] 617 |         let unit_code_text_index = LittleEndian::read_i32(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:618:66
[INFO] [stdout]     |
[INFO] [stdout] 618 |         let unit_text_text_index = LittleEndian::read_i32(&block[0x0C..0x10]);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:643:58
[INFO] [stdout]     |
[INFO] [stdout] 643 |         let self_address = LittleEndian::read_u16(&block[0x00..0x02]);
[INFO] [stdout]     |                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:644:55
[INFO] [stdout]     |
[INFO] [stdout] 644 |         let self_mask = LittleEndian::read_u16(&block[0x02..0x04]);
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:645:58
[INFO] [stdout]     |
[INFO] [stdout] 645 |         let peer_address = LittleEndian::read_u16(&block[0x04..0x06]);
[INFO] [stdout]     |                                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:646:55
[INFO] [stdout]     |
[INFO] [stdout] 646 |         let peer_mask = LittleEndian::read_u16(&block[0x06..0x08]);
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:647:71
[INFO] [stdout]     |
[INFO] [stdout] 647 |         let name_localized_text_index = LittleEndian::read_i32(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:669:65
[INFO] [stdout]     |
[INFO] [stdout] 669 |         let destination_address = LittleEndian::read_u16(&block[0x00..0x02]);
[INFO] [stdout]     |                                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:670:62
[INFO] [stdout]     |
[INFO] [stdout] 670 |         let destination_mask = LittleEndian::read_u16(&block[0x02..0x04]);
[INFO] [stdout]     |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:671:60
[INFO] [stdout]     |
[INFO] [stdout] 671 |         let source_address = LittleEndian::read_u16(&block[0x04..0x06]);
[INFO] [stdout]     |                                                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:672:57
[INFO] [stdout]     |
[INFO] [stdout] 672 |         let source_mask = LittleEndian::read_u16(&block[0x06..0x08]);
[INFO] [stdout]     |                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:673:53
[INFO] [stdout]     |
[INFO] [stdout] 673 |         let command = LittleEndian::read_u16(&block[0x08..0x0A]);
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:674:57
[INFO] [stdout]     |
[INFO] [stdout] 674 |         let field_count = LittleEndian::read_i32(&block[0x0C..0x10]) as usize;
[INFO] [stdout]     |                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:675:64
[INFO] [stdout]     |
[INFO] [stdout] 675 |         let field_table_offset = LittleEndian::read_i32(&block[0x10..0x14]) as usize;
[INFO] [stdout]     |                                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:681:26
[INFO] [stdout]     |
[INFO] [stdout] 681 |             for index in 0..field_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:705:59
[INFO] [stdout]     |
[INFO] [stdout] 705 |         let id_text_index = LittleEndian::read_i32(&block[0x00..0x04]);
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:706:71
[INFO] [stdout]     |
[INFO] [stdout] 706 |         let name_localized_text_index = LittleEndian::read_i32(&block[0x04..0x08]);
[INFO] [stdout]     |                                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:707:53
[INFO] [stdout]     |
[INFO] [stdout] 707 |         let unit_id = LittleEndian::read_i32(&block[0x08..0x0C]);
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:708:55
[INFO] [stdout]     |
[INFO] [stdout] 708 |         let precision = LittleEndian::read_i32(&block[0x0C..0x10]);
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:709:53
[INFO] [stdout]     |
[INFO] [stdout] 709 |         let type_id = LittleEndian::read_i32(&block[0x10..0x14]);
[INFO] [stdout]     |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:710:56
[INFO] [stdout]     |
[INFO] [stdout] 710 |         let part_count = LittleEndian::read_i32(&block[0x14..0x18]) as usize;
[INFO] [stdout]     |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:711:63
[INFO] [stdout]     |
[INFO] [stdout] 711 |         let part_table_offset = LittleEndian::read_i32(&block[0x18..0x1C]) as usize;
[INFO] [stdout]     |                                                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:725:26
[INFO] [stdout]     |
[INFO] [stdout] 725 |             for index in 0..part_count {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:749:57
[INFO] [stdout]     |
[INFO] [stdout] 749 |         let data_offset = LittleEndian::read_i32(&block[0x00..0x04]);
[INFO] [stdout]     |                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/specification_file.rs:753:52
[INFO] [stdout]     |
[INFO] [stdout] 753 |         let factor = LittleEndian::read_i64(&block[0x08..0x10]);
[INFO] [stdout]     |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/telegram.rs:125:26
[INFO] [stdout]     |
[INFO] [stdout] 125 |         &self.frame_data[0..end]
[INFO] [stdout]     |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]    --> src/telegram.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |         &mut self.frame_data[0..end]
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:36:27
[INFO] [stdout]    |
[INFO] [stdout] 36 |     calc_checksum_v0(&buf[0..idx]) == buf[idx]
[INFO] [stdout]    |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of `Range` range syntax
[INFO] [stdout]   --> src/utils.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |     buf[idx] = calc_checksum_v0(&buf[0..idx]);
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_reader.rs:58:28
[INFO] [stdout]    |
[INFO] [stdout] 58 |             timestamp: Utc.timestamp(0, 0),
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[deny(deprecated)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/recording_decoder.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Utc.timestamp(timestamp_s, timestamp_ns)
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/recording_encoder.rs:38:37
[INFO] [stdout]    |
[INFO] [stdout] 38 |     bytes_from_record(0x77, 16, Utc.timestamp(0, 0), buf);
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/specification.rs:875:37
[INFO] [stdout]     |
[INFO] [stdout] 875 |                 let timestamp = Utc.timestamp(self.raw_value + 978_307_200, 0);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:368:29
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[deny(deprecated)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:383:29
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:398:29
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:413:29
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:429:29
[INFO] [stdout]     |
[INFO] [stdout] 429 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:438:29
[INFO] [stdout]     |
[INFO] [stdout] 438 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:454:29
[INFO] [stdout]     |
[INFO] [stdout] 454 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:463:29
[INFO] [stdout]     |
[INFO] [stdout] 463 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:479:29
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:488:29
[INFO] [stdout]     |
[INFO] [stdout] 488 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:521:29
[INFO] [stdout]     |
[INFO] [stdout] 521 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:531:29
[INFO] [stdout]     |
[INFO] [stdout] 531 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:540:29
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:550:29
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:559:29
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:569:29
[INFO] [stdout]     |
[INFO] [stdout] 569 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:578:29
[INFO] [stdout]     |
[INFO] [stdout] 578 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:590:35
[INFO] [stdout]     |
[INFO] [stdout] 590 |         let other_timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:704:29
[INFO] [stdout]     |
[INFO] [stdout] 704 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:725:35
[INFO] [stdout]     |
[INFO] [stdout] 725 |         let other_timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/utils.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |     Utc.timestamp(secs, 0)
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data.rs:929:29
[INFO] [stdout]     |
[INFO] [stdout] 929 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:227:29
[INFO] [stdout]     |
[INFO] [stdout] 227 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:235:34
[INFO] [stdout]     |
[INFO] [stdout] 235 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:311:29
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:315:34
[INFO] [stdout]     |
[INFO] [stdout] 315 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:333:40
[INFO] [stdout]     |
[INFO] [stdout] 333 |         other_data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:354:29
[INFO] [stdout]     |
[INFO] [stdout] 354 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:358:34
[INFO] [stdout]     |
[INFO] [stdout] 358 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:390:29
[INFO] [stdout]     |
[INFO] [stdout] 390 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:394:34
[INFO] [stdout]     |
[INFO] [stdout] 394 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:428:29
[INFO] [stdout]     |
[INFO] [stdout] 428 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:432:34
[INFO] [stdout]     |
[INFO] [stdout] 432 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:534:29
[INFO] [stdout]     |
[INFO] [stdout] 534 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:538:34
[INFO] [stdout]     |
[INFO] [stdout] 538 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:644:29
[INFO] [stdout]     |
[INFO] [stdout] 644 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/data_set.rs:648:34
[INFO] [stdout]     |
[INFO] [stdout] 648 |         data_set.timestamp = Utc.timestamp(0, 0);
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_decoder.rs:331:29
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_encoder.rs:91:29
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_encoder.rs:109:29
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_reader.rs:58:28
[INFO] [stdout]    |
[INFO] [stdout] 58 |             timestamp: Utc.timestamp(0, 0),
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_writer.rs:72:39
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let start_timestamp = Utc.timestamp(1486857602, 94000000);
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_writer.rs:73:37
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let end_timestamp = Utc.timestamp(1486857602, 95000000);
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_writer.rs:82:39
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let start_timestamp = Utc.timestamp(1486857602, 283000000);
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_writer.rs:83:37
[INFO] [stdout]    |
[INFO] [stdout] 83 |             let end_timestamp = Utc.timestamp(1486857602, 284000000);
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_writer.rs:91:39
[INFO] [stdout]    |
[INFO] [stdout] 91 |             let start_timestamp = Utc.timestamp(1486857602, 474000000);
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_recording_writer.rs:92:37
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let end_timestamp = Utc.timestamp(1486857602, 474000000);
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:100:39
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let start_timestamp = Utc.timestamp(1486857602, 683000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:101:37
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let end_timestamp = Utc.timestamp(1486857602, 704000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:109:39
[INFO] [stdout]     |
[INFO] [stdout] 109 |             let start_timestamp = Utc.timestamp(1486857602, 863000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:110:37
[INFO] [stdout]     |
[INFO] [stdout] 110 |             let end_timestamp = Utc.timestamp(1486857602, 864000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:115:39
[INFO] [stdout]     |
[INFO] [stdout] 115 |             let start_timestamp = Utc.timestamp(1486857603, 123000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:116:37
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let end_timestamp = Utc.timestamp(1486857603, 124000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:124:39
[INFO] [stdout]     |
[INFO] [stdout] 124 |             let start_timestamp = Utc.timestamp(1486857603, 314000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:125:37
[INFO] [stdout]     |
[INFO] [stdout] 125 |             let end_timestamp = Utc.timestamp(1486857603, 314000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:133:39
[INFO] [stdout]     |
[INFO] [stdout] 133 |             let start_timestamp = Utc.timestamp(1486857603, 534000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:134:37
[INFO] [stdout]     |
[INFO] [stdout] 134 |             let end_timestamp = Utc.timestamp(1486857603, 535000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:142:39
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let start_timestamp = Utc.timestamp(1486857603, 763000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:143:37
[INFO] [stdout]     |
[INFO] [stdout] 143 |             let end_timestamp = Utc.timestamp(1486857603, 764000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:151:39
[INFO] [stdout]     |
[INFO] [stdout] 151 |             let start_timestamp = Utc.timestamp(1486857604, 114000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:152:37
[INFO] [stdout]     |
[INFO] [stdout] 152 |             let end_timestamp = Utc.timestamp(1486857604, 114000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:157:39
[INFO] [stdout]     |
[INFO] [stdout] 157 |             let start_timestamp = Utc.timestamp(1486857605, 94000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:158:37
[INFO] [stdout]     |
[INFO] [stdout] 158 |             let end_timestamp = Utc.timestamp(1486857605, 94000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:167:39
[INFO] [stdout]     |
[INFO] [stdout] 167 |             let start_timestamp = Utc.timestamp(1486857605, 283000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:168:37
[INFO] [stdout]     |
[INFO] [stdout] 168 |             let end_timestamp = Utc.timestamp(1486857605, 284000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:176:39
[INFO] [stdout]     |
[INFO] [stdout] 176 |             let start_timestamp = Utc.timestamp(1486857605, 474000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:177:37
[INFO] [stdout]     |
[INFO] [stdout] 177 |             let end_timestamp = Utc.timestamp(1486857605, 474000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:185:39
[INFO] [stdout]     |
[INFO] [stdout] 185 |             let start_timestamp = Utc.timestamp(1486857605, 703000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:186:37
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let end_timestamp = Utc.timestamp(1486857605, 704000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:194:39
[INFO] [stdout]     |
[INFO] [stdout] 194 |             let start_timestamp = Utc.timestamp(1486857605, 863000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:195:37
[INFO] [stdout]     |
[INFO] [stdout] 195 |             let end_timestamp = Utc.timestamp(1486857605, 863000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:200:39
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let start_timestamp = Utc.timestamp(1486857606, 123000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:201:37
[INFO] [stdout]     |
[INFO] [stdout] 201 |             let end_timestamp = Utc.timestamp(1486857606, 124000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:209:39
[INFO] [stdout]     |
[INFO] [stdout] 209 |             let start_timestamp = Utc.timestamp(1486857606, 314000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:210:37
[INFO] [stdout]     |
[INFO] [stdout] 210 |             let end_timestamp = Utc.timestamp(1486857606, 314000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:218:39
[INFO] [stdout]     |
[INFO] [stdout] 218 |             let start_timestamp = Utc.timestamp(1486857606, 503000000);
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/live_data_recording_writer.rs:219:37
[INFO] [stdout]     |
[INFO] [stdout] 219 |             let end_timestamp = Utc.timestamp(1486857606, 504000000);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/live_data_writer.rs:73:29
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/recording_decoder.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Utc.timestamp(timestamp_s, timestamp_ns)
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]   --> src/recording_encoder.rs:38:37
[INFO] [stdout]    |
[INFO] [stdout] 38 |     bytes_from_record(0x77, 16, Utc.timestamp(0, 0), buf);
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/recording_encoder.rs:119:29
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/recording_encoder.rs:129:29
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let timestamp = Utc.timestamp(1485688933, 0);
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: field `current_channel` is never read
[INFO] [stdout]   --> src/recording_reader.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct RecordingReader<R: Read> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 37 |     current_channel: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordingReader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[deny(dead_code)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 175 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `resol-vbus` (lib) due to 176 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/specification.rs:875:37
[INFO] [stdout]     |
[INFO] [stdout] 875 |                 let timestamp = Utc.timestamp(self.raw_value + 978_307_200, 0);
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/utils.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |     Utc.timestamp(secs, 0)
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: field `current_channel` is never read
[INFO] [stdout]   --> src/recording_reader.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct RecordingReader<R: Read> {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 37 |     current_channel: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecordingReader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[deny(dead_code)]` implied by `#[deny(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 404 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `resol-vbus` (lib test) due to 405 previous errors
[INFO] running `Command { std: "docker" "inspect" "382c4433189daaa1578e78bf49110fdc01c8263470d2ac97c2be7eb7ad6b3773", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "382c4433189daaa1578e78bf49110fdc01c8263470d2ac97c2be7eb7ad6b3773", kill_on_drop: false }`
[INFO] [stdout] 382c4433189daaa1578e78bf49110fdc01c8263470d2ac97c2be7eb7ad6b3773
